home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / bbs / Hydra11s.lha / HBBS / Source / Doors_System / XPR / XPR_Gui.c < prev    next >
C/C++ Source or Header  |  1996-06-25  |  7KB  |  226 lines

  1. /*********************************************/
  2. /*                                           */
  3. /*       Designer (C) Ian OConnor 1994       */
  4. /*                                           */
  5. /*      Designer Produced C include file     */
  6. /*                                           */
  7. /*********************************************/
  8.  
  9. #include <exec/types.h>
  10. #include <exec/memory.h>
  11. #include <dos/dosextens.h>
  12. #include <intuition/screens.h>
  13. #include <intuition/intuition.h>
  14. #include <intuition/gadgetclass.h>
  15. #include <libraries/gadtools.h>
  16. #include <diskfont/diskfont.h>
  17. #include <utility/utility.h>
  18. #include <graphics/gfxbase.h>
  19. #include <workbench/workbench.h>
  20. #include <graphics/scale.h>
  21. #include <clib/exec_protos.h>
  22. #include <clib/wb_protos.h>
  23. #include <clib/intuition_protos.h>
  24. #include <clib/gadtools_protos.h>
  25. #include <clib/graphics_protos.h>
  26. #include <clib/utility_protos.h>
  27. #include <string.h>
  28. #include <clib/diskfont_protos.h>
  29.  
  30. #include "XPR_Gui.h"
  31.  
  32.  
  33. ULONG BevelTags[] =
  34.   {
  35.   (GTBB_Recessed), TRUE,
  36.   (GT_VisualInfo), 0,
  37.   (TAG_DONE)
  38.   };
  39.  
  40. struct Window *XPRWin = NULL;
  41. APTR XPRWinVisualInfo;
  42. APTR XPRWinDrawInfo;
  43. struct Gadget *XPRWinGList;
  44. struct Gadget *XPRWinGadgets[12];
  45. UBYTE XPRWinFirstRun = 0;
  46.  
  47. ULONG XPRWinGadgetTags[] =
  48.   {
  49.   (GTNM_Border), TRUE,
  50.   (TAG_END),
  51.   (GTNM_Border), TRUE,
  52.   (TAG_END),
  53.   (GTNM_Border), TRUE,
  54.   (TAG_END),
  55.   (GTTX_Text), (ULONG)"<unknown>",
  56.   (GTTX_Border), TRUE,
  57.   (TAG_END),
  58.   (GTTX_Text), (ULONG)"xprzmodem.library",
  59.   (GTTX_Border), TRUE,
  60.   (TAG_END),
  61.   (GTNM_Border), TRUE,
  62.   (TAG_END),
  63.   (GTNM_Border), TRUE,
  64.   (TAG_END),
  65.   (GTNM_Border), TRUE,
  66.   (TAG_END),
  67.   (GTTX_Text), (ULONG)"<none>",
  68.   (GTTX_Border), TRUE,
  69.   (TAG_END),
  70.   (GTTX_Text), (ULONG)"<none>",
  71.   (GTTX_Border), TRUE,
  72.   (TAG_END),
  73.   (GTNM_Border), TRUE,
  74.   (TAG_END),
  75.   (GTNM_Border), TRUE,
  76.   (TAG_END),
  77.   };
  78.  
  79. UWORD XPRWinGadgetTypes[] =
  80.   {
  81.   NUMBER_KIND,
  82.   NUMBER_KIND,
  83.   NUMBER_KIND,
  84.   TEXT_KIND,
  85.   TEXT_KIND,
  86.   NUMBER_KIND,
  87.   NUMBER_KIND,
  88.   NUMBER_KIND,
  89.   TEXT_KIND,
  90.   TEXT_KIND,
  91.   NUMBER_KIND,
  92.   NUMBER_KIND,
  93.   };
  94.  
  95. struct NewGadget XPRWinNewGadgets[] =
  96.   {
  97.   103, 50, 72, 12, (UBYTE *)"Transferred", &HBBS8066, XPRWin_Transferred, 1, NULL,  (APTR)&XPRWinGadgetTags[0],
  98.   103, 63, 72, 12, (UBYTE *)"Remaining", &HBBS8066, XPRWin_Remaining, 1, NULL,  (APTR)&XPRWinGadgetTags[3],
  99.   103, 37, 72, 12, (UBYTE *)"Size", &HBBS8066, XPRWin_Size, 1, NULL,  (APTR)&XPRWinGadgetTags[6],
  100.   72, 17, 268, 12, (UBYTE *)"File", &HBBS8066, XPRWin_File, 1, NULL,  (APTR)&XPRWinGadgetTags[9],
  101.   72, 4, 268, 12, (UBYTE *)"Library", &HBBS8066, XPRWin_Library, 1, NULL,  (APTR)&XPRWinGadgetTags[14],
  102.   268, 37, 72, 12, (UBYTE *)"CPS", &HBBS8066, XPRWin_CPS, 1, NULL,  (APTR)&XPRWinGadgetTags[19],
  103.   268, 50, 72, 12, (UBYTE *)"Blocks", &HBBS8066, XPRWin_Blocks, 1, NULL,  (APTR)&XPRWinGadgetTags[22],
  104.   268, 63, 72, 12, (UBYTE *)"Block Size", &HBBS8066, XPRWin_BlockSize, 1, NULL,  (APTR)&XPRWinGadgetTags[25],
  105.   72, 97, 268, 12, (UBYTE *)"Message", &HBBS8066, XPRWin_Message, 1, NULL,  (APTR)&XPRWinGadgetTags[28],
  106.   72, 111, 268, 12, (UBYTE *)"Error", &HBBS8066, XPRWin_Error, 1, NULL,  (APTR)&XPRWinGadgetTags[33],
  107.   103, 76, 72, 12, (UBYTE *)"Percent", &HBBS8066, XPRWin_Percent, 1, NULL,  (APTR)&XPRWinGadgetTags[38],
  108.   268, 76, 72, 12, (UBYTE *)"Errors", &HBBS8066, XPRWin_Errors, 1, NULL,  (APTR)&XPRWinGadgetTags[41],
  109.   };
  110. UWORD XPRWinZoomInfo[4] = { 111, 30, 400, 10 };
  111.  
  112. struct TextAttr HBBS8066 = { (STRPTR)"HBBS.font", 8, 0, 66 };
  113.  
  114. void RendWindowXPRWin( struct Window *Win, void *vi )
  115. {
  116. UWORD offx = Win->BorderLeft;
  117. UWORD offy = Win->BorderTop;
  118. if (Win != NULL)
  119.   {
  120.   BevelTags[3] = (ULONG)vi;
  121.   DrawBevelBoxA( Win->RPort, 2+offx,1+offy,343,32, (struct TagItem *)(&BevelTags[2]));
  122.   DrawBevelBoxA( Win->RPort, 2+offx,35+offy,343,58, (struct TagItem *)(&BevelTags[2]));
  123.   DrawBevelBoxA( Win->RPort, 2+offx,95+offy,343,30, (struct TagItem *)(&BevelTags[2]));
  124.   }
  125. }
  126.  
  127. int OpenWindowXPRWin(struct Screen *Scr)  // *!* Changed
  128. {
  129.  
  130. UWORD offx, offy;
  131. UWORD loop;
  132. struct NewGadget newgad;
  133. struct Gadget *Gad;
  134. struct Gadget *Gad2;
  135. APTR Cla;
  136. if (XPRWinFirstRun == 0)
  137.   {
  138.   XPRWinFirstRun = 1;
  139.   }
  140. if (Scr) // *!* Changed
  141.   {
  142.   offx = Scr->WBorLeft;
  143.   offy = Scr->WBorTop + Scr->Font->ta_YSize+1;
  144.   if (NULL != ( XPRWinVisualInfo = GetVisualInfoA( Scr, NULL)))
  145.     {
  146.     if (NULL != ( XPRWinDrawInfo = GetScreenDrawInfo( Scr)))
  147.       {
  148.       XPRWinGList = NULL;
  149.       Gad = CreateContext( &XPRWinGList);
  150.       for ( loop=0 ; loop<12 ; loop++ )
  151.         if (XPRWinGadgetTypes[loop] != 198)
  152.           {
  153.           CopyMem((char * )&XPRWinNewGadgets[loop], ( char * )&newgad, (long)sizeof( struct NewGadget ));
  154.           newgad.ng_VisualInfo = XPRWinVisualInfo;
  155.           newgad.ng_LeftEdge += offx;
  156.           newgad.ng_TopEdge += offy;
  157.           XPRWinGadgets[ loop ] = NULL;
  158.           XPRWinGadgets[ newgad.ng_GadgetID - XPRWinFirstID ] = Gad = CreateGadgetA( XPRWinGadgetTypes[loop], Gad, &newgad, newgad.ng_UserData );
  159.           }
  160.       for ( loop=0 ; loop<12 ; loop++ )
  161.         if (XPRWinGadgetTypes[loop] == 198)
  162.           {
  163.           XPRWinGadgets[ loop ] = NULL;
  164.           Cla = NULL;
  165.           if (Gad)
  166.             XPRWinGadgets[ loop ] = Gad2 = (struct Gadget *) NewObjectA( (struct IClass *)Cla, XPRWinNewGadgets[ loop ].ng_GadgetText, XPRWinNewGadgets[ loop ].ng_UserData );
  167.           }
  168.       if (Gad != NULL)
  169.         {
  170.         if (NULL != (XPRWin = OpenWindowTags( NULL, (WA_Left), 154,
  171.                 (WA_Top), 73,
  172.                 (WA_Width), 351+offx,
  173.                 (WA_Height), 128+offy,
  174.                 (WA_Title), "XPR Transfer Status",
  175.                 (WA_MinWidth), 150,
  176.                 (WA_MinHeight), 25,
  177.                 (WA_MaxWidth), 1200,
  178.                 (WA_MaxHeight), 1200,
  179.                 (WA_DragBar), TRUE,
  180.                 (WA_DepthGadget), TRUE,
  181.                 (WA_CloseGadget), TRUE,
  182.                 (WA_SmartRefresh), TRUE,
  183.                 (WA_AutoAdjust), TRUE,
  184.                 (WA_Gadgets), XPRWinGList,
  185.                 (WA_Zoom), XPRWinZoomInfo,
  186.                 (WA_PubScreen) , (LONG)Scr,
  187.                 (WA_IDCMP),512,
  188.                 (TAG_END))))
  189.           {
  190.           RendWindowXPRWin(XPRWin, XPRWinVisualInfo );
  191.           GT_RefreshWindow( XPRWin, NULL);
  192.           RefreshGList( XPRWinGList, XPRWin, NULL, ~0);
  193.           return( 0L );
  194.           }
  195.         }
  196.       FreeGadgets( XPRWinGList);
  197.       FreeScreenDrawInfo( Scr, XPRWinDrawInfo );
  198.       }
  199.     FreeVisualInfo( XPRWinVisualInfo );
  200.     }
  201.   }
  202. return( 1L );
  203. }
  204.  
  205. void CloseWindowXPRWin( void )
  206. {
  207. if (XPRWin != NULL)
  208.   {
  209.   FreeScreenDrawInfo( XPRWin->WScreen, XPRWinDrawInfo );
  210.   XPRWinDrawInfo = NULL;
  211.   CloseWindow( XPRWin);
  212.   XPRWin = NULL;
  213.   FreeVisualInfo( XPRWinVisualInfo);
  214.   FreeGadgets( XPRWinGList);
  215.   }
  216. }
  217.  
  218. int OpenDiskFonts( void )
  219. {
  220.   int OKSoFar = 0;
  221. if (NULL == OpenDiskFont( &HBBS8066 ) )
  222.   OKSoFar = 1;
  223. return ( OKSoFar );
  224. }
  225.  
  226.